modelo
Class ModeloTienda

java.lang.Object
  extended by modelo.ModeloTienda

public class ModeloTienda
extends java.lang.Object

ModeloTienda.java Esta clase gestiona el acceso a la base de datos que representa la tienda. Las conexiones están gestionadas por un pool de conexiones, que debe inicializarse previamente. Los métodos de esta clase están clasificados por gestión de categorias, búsquedas, gestión de productos y ejecución de sentencias de usuario.

Since:
Tienda V.1.1

Constructor Summary
ModeloTienda()
           
 
Method Summary
 int actualizaCategoria(java.lang.String idCategoria, java.lang.String categoria)
          Actualiza la categoría identificada por su id con el valor de categoría nuevo.
 int borraCategoria(java.lang.String idCategoria)
          Elimina la categoria identificada por su id de la tabla de categorias.
 Producto detallesProducto(int idProducto)
          Devuelve los detalles del producto identificado por su id.
 java.lang.String ejecutaSQL(java.lang.String sql)
          Ejecuta la consulta sql sobre la base de datos que representa la tienda.
 void init()
          Inicializa el datasource.
 int insertaCategoria(java.lang.String categoria)
          Inserta una nueva categoria en la tabla de categorias, si no existe una categoría con el mismo nombre, y devuelve su id.
 boolean insertaPedido(java.lang.String nombreContacto, java.lang.String direccionEntrega, java.lang.String nombreCC, java.lang.String numeroCC, java.lang.String fechaCC, java.util.Hashtable elementos)
          Inserta un nuevo pedido en la tabla de pedido y la lista de productos que se reciben en elementos, en la tabla DetallePedidos.
 int insertaProducto(Producto producto)
          Inserta un nuevo producto en la tabla de productos, si no existe uno con el mismo nombre, y devuelve su id.
 java.util.Hashtable listaCategorias()
          Devuelve una tabla hash con la lista de categorías (idCategoria, nombreCategoria).
 java.util.ArrayList productosDestacados()
          Devuelve la lista de productos destacados o null si hay error.
 java.util.ArrayList productosEnCategoria(java.lang.String idCategoria)
          Devuelve la lista de productos dentro de la categoria identificada por su idCategoria o null si hay error.
 java.util.ArrayList resultadosBusqueda(java.lang.String clave)
          Realiza una búsqueda de la clave proporcionada en los campos significativos de la tabla de productos.
 void setDbRefName(java.lang.String dbRefName)
          Almacena el nombre del recurso de la base de datos de la Tienda.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModeloTienda

public ModeloTienda()
Method Detail

setDbRefName

public void setDbRefName(java.lang.String dbRefName)
Almacena el nombre del recurso de la base de datos de la Tienda.

Parameters:
dbRefName -

init

public void init()
          throws javax.naming.NamingException
Inicializa el datasource.

Throws:
javax.naming.NamingException

listaCategorias

public java.util.Hashtable listaCategorias()
                                    throws ExcepcionFalloGeneral
Devuelve una tabla hash con la lista de categorías (idCategoria, nombreCategoria).

Throws:
ExcepcionFalloGeneral

insertaCategoria

public int insertaCategoria(java.lang.String categoria)
                     throws ExcepcionFalloGeneral
Inserta una nueva categoria en la tabla de categorias, si no existe una categoría con el mismo nombre, y devuelve su id. Si no consigue insertar la categoria o si hay error, devuelve -1.

Parameters:
categoria -
Throws:
ExcepcionFalloGeneral

borraCategoria

public int borraCategoria(java.lang.String idCategoria)
                   throws ExcepcionFalloGeneral
Elimina la categoria identificada por su id de la tabla de categorias. Devuelve el número de registros afectado por la eliminación (0-1).

Parameters:
idCategoria -
Throws:
ExcepcionFalloGeneral

actualizaCategoria

public int actualizaCategoria(java.lang.String idCategoria,
                              java.lang.String categoria)
                       throws ExcepcionFalloGeneral
Actualiza la categoría identificada por su id con el valor de categoría nuevo. Devuelve el número de registros afectado por la actualización (0-1).

Parameters:
idCategoria -
categoria -
Throws:
ExcepcionFalloGeneral

resultadosBusqueda

public java.util.ArrayList resultadosBusqueda(java.lang.String clave)
                                       throws ExcepcionFalloGeneral
Realiza una búsqueda de la clave proporcionada en los campos significativos de la tabla de productos. Devuelve la lista de productos encontrados o null si hay error.

Parameters:
clave -
Throws:
ExcepcionFalloGeneral

productosEnCategoria

public java.util.ArrayList productosEnCategoria(java.lang.String idCategoria)
                                         throws ExcepcionFalloGeneral
Devuelve la lista de productos dentro de la categoria identificada por su idCategoria o null si hay error.

Parameters:
idCategoria -
Throws:
ExcepcionFalloGeneral

productosDestacados

public java.util.ArrayList productosDestacados()
                                        throws ExcepcionFalloGeneral
Devuelve la lista de productos destacados o null si hay error.

Throws:
ExcepcionFalloGeneral

insertaProducto

public int insertaProducto(Producto producto)
                    throws ExcepcionFalloGeneral
Inserta un nuevo producto en la tabla de productos, si no existe uno con el mismo nombre, y devuelve su id. Si no consigue insertar el producto o si hay error devuelve -1.

Parameters:
producto -
Throws:
ExcepcionFalloGeneral

detallesProducto

public Producto detallesProducto(int idProducto)
                          throws ExcepcionFalloGeneral
Devuelve los detalles del producto identificado por su id. Si no lo encuentra o si hay error devuelve null.

Parameters:
idProducto -
Throws:
ExcepcionFalloGeneral

insertaPedido

public boolean insertaPedido(java.lang.String nombreContacto,
                             java.lang.String direccionEntrega,
                             java.lang.String nombreCC,
                             java.lang.String numeroCC,
                             java.lang.String fechaCC,
                             java.util.Hashtable elementos)
                      throws ExcepcionFalloGeneral
Inserta un nuevo pedido en la tabla de pedido y la lista de productos que se reciben en elementos, en la tabla DetallePedidos. La inserción se realiza como una única transacción, de forma que si existe cualquier error durante la inserción, se deshacen las inserciones anteriores. Devuelve true si la transacción se realizó correctamente y false si hay error.

Parameters:
nombreContacto -
direccionEntrega -
nombreCC -
numeroCC -
fechaCC -
elementos -
Throws:
ExcepcionFalloGeneral

ejecutaSQL

public java.lang.String ejecutaSQL(java.lang.String sql)
                            throws ExcepcionFalloGeneral
Ejecuta la consulta sql sobre la base de datos que representa la tienda. Si el resultado de la consulta genera un resultset, genera una tabla html. Sino devuelve el número de registros afectados. Devuelve null si hay error.

Parameters:
sql -
Throws:
ExcepcionFalloGeneral